Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatuses, and products for graphical display of hierarchical hardlinks to files in a file system.
Description of Related Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today's computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
Computers have a foundation layer of software called an operating system that stores and organizes files and upon which applications depend for access to computer resources. In an operating system, the overall structure in which objects such as files are named, stored, and organized is called a file system. File systems are often organized in a namespace that consists of a collection of pathnames used to access the objects stored in the file system. A pathname is a sequence of symbols and names that identifies a file. Every file in the namespace has a name, called a filename, so the simplest type of pathname is just a filename. To access files in directories, a pathname identifies a path to the file starting from a working directory or from a root directory to the file. Various operating systems have different rules for specifying pathnames. In DOS systems, for example, the root directory is named ‘\’, and each subdirectory is separated by an additional backslash. In UNIX, the root directory is named ‘/’, and each subdirectory is followed by a slash. In Macintosh environments, directories are separated by a colon. These pathnames ‘map’ or ‘link’ an object into the namespace. Links that directly map an object into the namespace are called ‘hardlinks.’
Modern operating systems provide a graphical user interface (“GUI”) for viewing and manipulating files and directories in the file system. Traditional GUIs typically represent the file system namespace to a user by categorizing file system objects as either container objects or data objects. Container objects such as directories or folders may include other container objects or directories and are typically placed on the left side of the GUI for the file system. Data objects such as hardlinks to files do not include other objects and are typically placed on the right side of the GUI for the file system.
Data objects such as hardlinks typically have a one-to-one relationship with the underlying file in the file system that they represent. If there are multiple hardlinks to a single file in the file system, however, traditional GUIs display the hardlinks in the right side of the file system GUI as data objects with no indication that other hardlinks to the file exist. The lack of differentiation between files with multiple and singular hardlinks by traditional file system GUIs create confusion and adds difficulty to management of files with multiple hardlinks.
A user, for example, desiring to remove a file from the file system may delete what appears to be a singular hardlink to a file. If the file in fact has multiple hardlinks throughout the namespace, the user will have only removed one of the hardlinks instead of removing the underlying file from the file system. In order for the user to remove the file from the file system using traditional file system GUIs, the user must manually search the entire namespace of the file system and manually delete all the hardlinks associated with the file. The inability to efficiently view and manipulate files with multiple hardlinks in a file system GUI wastes time for users.